Search Result-Based Listing Generation In A Single View

ABSTRACT

Search result-based listing generation in a single view is described. Initially, search query input is received via a user interface and, as it is received, a listing system presents obtained search results via the user interface. The listing system supports generation of listings from search results, in part, by employing a listing schema that defines attributes for listings. Responsive to selection of a search result, for instance, the listing system identifies information of the selected search result corresponding to these attributes. The listing system then configures the user interface to present, concurrently with the search results, a listing template with this information. These listing templates are the basis for generating listings exposed to client devices by a distribution platform. Responsive to input to submit a listing, for instance, the listing system forms the listing from the information in the listing template and communicates the listing to the distribution platform.

RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 15/703,783, filed Sep. 13, 2017, the disclosure ofwhich is incorporated by reference in this application in its entirety.

BACKGROUND

Service provider systems continue to make advances in computingtechnologies to enable listings for various products and services to besurfaced to client devices. With these advances, an increasing number ofservice provider systems and associated applications surface listings toclient devices for the various products and services. Example productsand services for which such listings are surfaced include consumerproducts (new and used), real property, property rentals, serviceofferings (e.g., house cleaning, babysitting, landscaping, etc.),classified offerings, and so on. In addition to advances in technologiesfor surfacing listings, service provider systems also continue to makeadvances in computing technologies for generating these listings.

Conventional techniques for generating such listings typically involveclient devices accessing different data and performing a differentseries of steps in connection with each platform to which the listingsare submitted. However, this may consume a significant amount ofhardware resources of the client devices to store information forgenerating these listings for the different listing platforms.Leveraging different data and performing a different series of steps foreach platform may also be time consuming for users of the clientdevices. This is, in part, because client device users interested insubmitting listings to different listing platforms may need to learnintricacies of the listing generation process to submit listings witheach platform. As a result, listing platforms simply may not beleveraged in many scenarios.

SUMMARY

To overcome these problems, search result-based listing generation in asingle view is leveraged. Initially, search query input is received viaa user interface, e.g., for a product or service similar to one a userwishes to list using a listing system. As the search query input isreceived, the listing system presents obtained search results via theuser interface. The listing system supports the generation of listingsfrom the search results, in part, by employing a listing schema, whichis a set of rules defined for controlling attributes of listings.Responsive to user selection of a presented search result, for instance,the listing system identifies information associated with the selectedsearch result that corresponds to the attributes of the listing schema.

The listing system also configures the user interface to present,concurrently with the search results, a listing template that ispopulated with the identified information. In general, this listingtemplate serves as a basis for generating a listing for exposure toclient devices by a distribution platform, such that when the listingsystem receives input to submit the listing, the listing systemgenerates the listing from the information in the listing template. Thelisting system also enables the information in the listing template tobe modified using attribute modification instrumentalities. In this way,the listing system generates listings that accurately reflect theproducts or services listed.

This Summary introduces a selection of concepts in a simplified formthat are further described below in the Detailed Description. As such,this Summary is not intended to identify essential features of theclaimed subject matter, nor is it intended to be used as an aid indetermining the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures.

FIG. 1 is an illustration of an environment in an example implementationthat is operable to employ techniques described herein.

FIG. 2 depicts an example implementation in which a listing system ofFIG. 1 generates a combined search result and listing template view foroutput.

FIG. 3 depicts another example implementation in which the listingsystem of FIG. 1 generates a listing for communication to a listingservice system based on information obtained in connection with thecombined search result and listing template view.

FIG. 4 depicts an example implementation of a user interface that isinitially configured to receive a search query and that is furtherconfigurable to serve as the combined search result and listing templateview.

FIG. 5 depicts a further example implementation in which the userinterface is updated to present search result listings as search queryinput is received.

FIG. 6 depicts a further example implementation in which the userinterface is updated to present different search result listings asadditional search query input is received.

FIG. 7 depicts a further example implementation in which a listingtemplate is presented along with the search result listings to form thecombined search result and listing template view.

FIG. 8 depicts an example implementation of a data structure that isusable to implement a schema for generating listing templates fromsearch results to enable the combined view.

FIG. 9 depicts a further example implementation in which input isreceived to modify the information in a listing template of the combinedsearch result and listing template view.

FIGS. 10A and 10B depict a procedure in an example implementation inwhich a listing template is presented in a single view with searchresult listings and in which the listing template is configured based ona user-selected search result listing.

FIG. 11 illustrates an example system including various components of anexample device that can be implemented as any type of computing deviceas described and/or utilized with reference to FIGS. 1-10B to implementembodiments of the techniques described herein.

DETAILED DESCRIPTION Overview

An increasing number of service provider systems and associatedapplications surface listings to client devices for various products andservices due to advances in computing technologies. Service providersystems also continue to make advances in computing technologies forgenerating these listings. Conventional techniques for generating suchlistings typically involve client devices accessing different data andperforming a different series of steps in connection with each platformto which the listings are submitted. However, this may consume asignificant amount of hardware resources of the client devices to storeinformation for generating these listings for the different listingplatforms. Leveraging different data and performing a different seriesof steps for each platform may also be time consuming for users of theclient devices. This is, in part, because client device users interestedin submitting listings to different listing platforms may need to learnintricacies of the listing generation process to submit listings witheach platform. As a result, listing platforms simply may not beleveraged in many scenarios.

To overcome these problems, search result-based listing generation in asingle view is leveraged. Initially, search query input is received viaa user interface, e.g., for a product or service similar to one a clientdevice user wishes to list using a listing system. As the search queryinput is received, the listing system presents obtained search resultsvia the user interface. By presenting these search results, the listingsystem aids the client device user in determining listings similar tothe product or service the user is listing and also determining theinformation to include in a listing. Broadly speaking, the listingsystem supports the generation of listings from the search results, inpart, by employing a listing schema, which is a set of rules defined forcontrolling attributes of listings. As one example of this control, thelisting service may present the search results as listings configuredaccording to the schema, such that the search result listings are eachpresented in a similar format with information corresponding to theattributes of the schema. For instance, each search result listing ispresented with a title, an image, a description, and so forth.

In accordance with the described techniques, these search resultlistings are selectable to present, concurrently in the user interfacewith the search result listings, a listing template. This listingtemplate is initially populated with information from the selectedlisting. In particular, the listing template is populated with theinformation from the selected search result listing that corresponds tothe attributes of the schema. Broadly, listing templates serve as abasis for generating listings for exposure to client devices by adistribution platform, such that when the listing system receives alisting submission input, the listing system forms the listing from theinformation in the listing template. To this extent, in scenarios wherethe client device user does not provide input to modify the informationof the listing template, the listing system generates a listing that issubstantially the same as the selected search result listing. In one ormore implementations, the selected search result listing and thegenerated listing merely have different listing user information, e.g.,username of the listing user, rating of the listing user, contactinformation of the listing user, and so on.

Nonetheless, the listing template is modifiable. In particular, thelisting template is configured with attribute modificationinstrumentalities that allow a client device user to modify theinformation in the listing template. By way of example, the listingsystem may receive a hover input over a description of the listingtemplate. Responsive to this, the listing system causes an attributemodification instrumentality to be displayed that enables modificationof the listing template's description. Once the modification iscomplete, the listing template is presented with the modifieddescription. Certainly, the listing system enables other information ofthe listing template to be modified as described in more detail below.This allows client device users to customize listings. Indeed, inscenarios where the client device user does provide input to modify theinformation of the listing template, the listing system generates alisting in accordance with the modifications.

By configuring the listing template with information from a selectedsearch result, the listing system reduces a burden on client deviceusers to create listings from scratch. Additionally, presenting searchresults in a same view as the listing template enables client deviceusers to refer to these search results while making modifications to thelisting template. The listing system therefore enables client deviceusers to identify information for a listing that may be expected inconnection with a product or service being listed. The listing systemalso enables client device users to identify information for a listingthat may result in more interactions by other client device users—andpotentially lead to conversion. By configuring listing informationaccording to a schema, the listing system also improves an efficiency ofclient devices. This is because search results from different sources(e.g., electronic commerce distribution platforms) can be handled by theclient devices in a similar manner. The described techniques alsoimprove an efficiency of, and reduce resources used by, distributionplatforms because the information included in the listings theseplatforms receive is standardized, e.g., according to the schema.

In the following discussion, an example environment is first describedthat may employ the techniques described herein. Example implementationdetails and procedures are then described which may be performed in theexample environment as well as other environments. Consequently,performance of the example procedures is not limited to the exampleenvironment and the example environment is not limited to performance ofthe example procedures.

Example Environment

FIG. 1 is an illustration of a digital medium environment 100 in anexample implementation that is operable to employ search result-basedlisting generation in a single view as described herein. The illustratedenvironment 100 includes a computing device 102 and a service providersystem 104 with a search service manager module 106. The computingdevice 102 and the service provider system 104 are communicativelycoupled, one to another, via a network 108.

Computing devices that are usable to implement the computing device 102and the service provider system 104 may be configured in a variety ofways. A computing device, for instance, may be configured as a desktopcomputer, a laptop computer, a mobile device (e.g., assuming a handheldconfiguration such as a tablet or mobile phone), and so forth. Thus,computing devices may range from full resource devices with substantialmemory and processor resources (e.g., personal computers, game consoles)to a low-resource device with limited memory and/or processing resources(e.g., mobile devices). Additionally, a computing device may berepresentative of a plurality of different devices, such as multipleservers utilized by a business to perform operations “over the cloud” asfurther described in relation to FIG. 11.

As noted above, the service provider system 104 is illustrated asincluding the search service manager module 106 that is implemented atleast partially in hardware of the service provider system 104 toprovide services accessible via the network 108 to client devices, suchas the computing device 102. In particular, the search service managermodule 106 represents functionality to interact with applications 110 ofthe computing device 102 to implement search result-based listinggeneration in a single view. The applications 110 may include a browser,a network-enabled application, and so on, that obtain data from theservice provider system 104 via the network 108. The search servicemanager module 106, for instance, may interact with one of theapplications 110 to receive search query input, conduct a search basedon the received query (e.g., using web indexing, a web crawler, etc.),return search results for presentation via the application 110, and soforth.

In addition or alternately, the service provider system 104 may includefunctionality to obtain listing information from the computing device102. Once this listing information is obtained, the service providersystem 104 exposes generated digital content via a distribution platformin connection with the obtained information. For instance, the serviceprovider system 104 exposes digital content configured as alisting-for-sale via an electronic commerce platform, e.g., eBay®.Although a single service provider system 104 is depicted in theillustrated example 100, the computing device 102 is configured toaccess multiple service providers over the network 108 to leverage theirrespective services, such as a first service provider for performingsearches based on search query input and a second service provider forexposing listings based on obtained listing information.

To implement search result-based listing generation in a single view,the computing device 102 also includes listing system 112, which isillustrated having interactive listing agent 114 and view generationmodule 116. In general, the listing system 112 illustrates functionalityto obtain search results based on search query input, generate a listingtemplate based on a user selected search result, and present thetemplate in a same view (e.g., a same application window) as the searchresults are presented. In this way, the listing system 112 maintains acontext of the listings that are presented based on search query inputand simultaneously allows a user to modify the listing template. In oneor more implementations, the listing system 112 may be associated with aservice provider system that provides the search results to thecomputing device 102 and also exposes listings generated according tothe described techniques. Additionally or alternately, the listingsystem 112 may be implemented to supplement an application (e.g., as abrowser plugin or toolbar), such that functionality of the listingsystem 112 can be used in connection with search results correspondingto different service provider systems as well as with a service providercapable of exposing listings. Initially, though, the listing system 112generates the above-noted listing template to include data identified byprocessing a selected search result.

In this context, the interactive listing agent 114 representsfunctionality to modify the information of the template and create acustomized listing based, in part, on user input received viainstrumentalities of the template. The view generation module 116represents functionality to generate the combined search result andlisting template view based on a variety of information, such as searchresult data, information obtained by the interactive listing agent 114about a selected search result, information obtained by the interactivelisting agent 114 due to one or more user modifications of theinformation in the template, and so on. Indeed, the listing system 112may include more or fewer modules to carry out its functionality withoutdeparting from the spirit or scope of the techniques described herein.

In the illustrated example, the computing device 102 also includessupplemental listing content 118. The supplemental listing content 118is illustrated stored in storage 120 of the computing device 102. Ingeneral, the supplemental listing content 118 represents digital contentthat is accessible to the computing device 102, e.g., via the deviceapplications 110. The supplemental listing content 118 can include anyof a variety of content types, such as images, videos, documents, audiorecordings, graphics, proprietary content types, and so forth. Ingeneral, the supplemental listing content 118 can be accessed by thelisting system 112 to supplement a listing being created.

Consider an example in which the interactive listing agent 114 extractsa digital image from a selected search result listing and in which theview generation module 116 generates the listing template to include theextracted image. As noted above, the presented listing template includesinstrumentalities that allow a user to modify the information in thelisting template, including images. Given this, the user may provideinput in relation to an instrumentality that allows the image of thelisting template to be changed, e.g., so that the created listingincludes a digital image of the actual object that is to be listed.Based on selection of a digital image from the supplemental listingcontent 118, the interactive listing agent 114 modifies listing dataassociated with the listing template. The view generation module 116also updates the listing template to present the user-selected image.Other types of the content may be added to a listing (e.g., video oraudio) without departing from the spirit or scopes of the techniquesdescribed herein.

As discussed in more detail below, once a user is satisfied with theinformation indicated by the listing template, the user may select aninstrumentality of the template to submit the listing. As part of doingso, the interactive listing agent 114 generates listing data to describethe listing. This listing data may include, for instance, a title of thelisting, a description of the one or more items being listed, an image,condition of the one or more items, and so forth. In any case, thelisting data is configured for communication to a service provider thatis capable of exposing digital content corresponding to the listingdata.

By presenting search results and a listing template in a single view,the listing system 112 allows computing device users to refer toinformation of other listings while providing input to the listingsystem 112 to create new listings. One advantage of the listing system112 is therefore that users are presented the actual words, images, andeven prices used by other users (or by businesses) when attempting tolist a particular product or service. By generating the listing templateto include the information of a selected search result listing, thelisting system 112 also reduces an amount of time computing device usersspend listing items with a listing service, e.g., an electronic commerceplatform, a property rental platform, a platform for requesting services(e.g., house cleaners, babysitters, nannies, landscapers, lawn mowers,information technology providers, etc.), and so forth. This is becausethe information (e.g., images, descriptions, titles, etc.) of a similarlisting or a listing associated with a same product or service can beleveraged to populate the listing template. The described techniquesalso improve an efficiency of, and reduce resources used by, listingservice provider systems because at least some of the informationincluded in the listings is standardized, as described in more detailbelow.

Having considered an example environment, consider now a discussion ofsome example details of the techniques for search result-based listinggeneration in a single view in accordance with one or moreimplementations.

Search Result-Based Listing Generation in a Single View

FIG. 2 depicts a system in an example implementation 200 in whichoperation of the interactive listing agent 114 and the view generationmodule 116 is described in more detail as generating a combined searchresult and listing template view for output.

The interactive listing agent 114 and the view generation module 116 areincorporated as part of a system to generate a combined search resultand listing template view. The interactive listing agent 114 isillustrated obtaining search results 202, which may be obtained from asearch provider, such as one implemented using the search servicemanager module 106. The search results 202 are obtained based on searchquery input, such as a search query input received via an interfaceinstrumentality of one of the applications 110. By way of example, thesearch query input may correspond to a text query received via a textfield, an audible query received via an audio interface (e.g.,microphone) of the computing device 102, an image query comprising adigital image captured using image capturing functionality of thecomputing device 102 and maintained in the storage 120, and so forth.

Regardless of the query type, the search results 202 represent aresponse to the search query. The search results 202 may correspond tovarious listings from an electronic commerce site, listings of productsor services from a business's website, listings of products or serviceson different websites, listings of rentals from a rental service, and soon. In one or more implementations, the search results 202 may update assearch result input is received. By way of example, as a user types thetext string “used fitness equipment” the search results 202 obtained mayupdate such that the search results 202 obtained when the text string“used” is typed into a text field are different from the search results202 obtained when the text string “used fitness equip” is typed into thetext field.

Based on the search results 202, the interactive listing agent 114 isconfigured to generate a selectable listing 204. The selectable listing204 is depicted with ellipses to indicate that the search results maycorrespond to more than one listing. Indeed, the search results 202 maycorrespond to several listings depending on the availability of thesearched-for products or services. In one or more implementations, theinteractive listing agent 114 generates the selectable listing 204 byprocessing the data associated with a respective search result,identifying the processed data that corresponds to defined attributesfor a listing, and populating the attributes of the selectable listing204 with the identified data. The interactive listing agent 114 isconfigured to do this for each listing corresponding to the searchresults 202. In addition or alternately, the search results 202 mayalready be configured according to the defined attributes, e.g., whenthe search results 202 are obtained from a search service providerassociated with the listing system 112. In this scenario, theinteractive listing agent 114 may simply pass the search results 202configured as selectable listings to the view generation module 116.Further still, the interactive listing agent 114 may not configureselectable listings 204 according to the defined attributes untilselected by a user selection input.

Nonetheless, the view generation module 116 obtains the selectablelistings 204. Based on the selectable listings 204, the view generationmodule 116 generates an interface (e.g., a view) for output via whichthe selectable listings 204 are selectable. This view may be configuredas an interactive display that displays the selectable listings 204 in alist format and relative to which a user selection input (e.g., touchinput, mouse input, keyboard input, etc.) can be received to select aparticular listing. Alternately or in addition, an audio selection input(e.g., a voice command) can be received to select a particular listing.Regardless of the particular manner in which the selectable listings 204are presented, listing selection 206 is received by the view generationmodule 116 to select one of the selectable listings 204 presented.

Based on the listing selection 206, the view generation module 116updates the view via which the selectable listings 204 are presented toform result and listing template view 208. The result and listingtemplate view 208 includes both the selectable listings 204 presentedfor selection and also a listing template. This listing template isinitially populated with the information of the selectable listing 204,which was selected according to the listing selection 206. By way ofexample, the listing template may include an image copied from theselected listing, a title copied from the selected listing, adescription copied from the selected listing, and so on. In particular,the listing template includes data corresponding to the definedattributes of a listing. As noted above, the interactive listing agent114 is configured to identify these attributes. Further, the interactivelisting agent 114 is configured to generate listing data for the listingtemplate. This generated listing data initially includes the informationidentified by the interactive listing agent 114 as corresponding to thedefined attributes of a listing. In addition to this information, theinteractive listing agent 114 determines other listing datacorresponding to the defined attributes of a listing. Examples of thisother data include, but are not limited to, an identifier of the userassociated with the listing, a rating of the user associated with thelisting (e.g., indicating a responsiveness of the user, an accuracy ofthe user's descriptions, timeliness of the user, and so on), paymentinformation of the user associated with the listing, and so forth.

Based on the listing data determined by the interactive listing agent114, the view generation module 116 generates the result and listingtemplate view 208 having the listing template. Once the listing templateis presented, inputs can be received via instrumentalities of the resultand listing template view 208 to modify the listing data associated withthe listing template. In this context, consider FIG. 3.

FIG. 3 depicts a system in another example implementation 300 in whichoperation of the interactive listing agent 114 and the view generationmodule 116 is described in more detail as generating a listing forcommunication to a listing service system.

The interactive listing agent 114 and the view generation module 116 areincorporated as part of the system to generate the listing based oninformation obtained in connection with the combined search result andlisting template view. In the example implementation 300, the viewgeneration module 116 is illustrated obtaining template input 302. Thetemplate input 302 corresponds to computing device user inputs receivedvia the result and listing template view 208 to modify the informationpresented via the listing template. One example of the template input302, for instance, is a user input to change a digital image included inthe result and listing template view 208 as part of the listingtemplate. By way of example, the template input 302 may indicate tochange an image copied to the listing template from the selected listingto an image maintained in the supplemental listing content 118. Thetemplate input 302 may indicate a variety of other changes to thelisting template without departing from the spirit or scope of thetechniques described herein, such as changes to a title, a description,a condition, a price of the product or service, and so on. Alternatelyor in addition, the template input 302 may indicate additions to theinformation in the listing template, such as to add additionalinformation to a description, add additional images (e.g., to showdifferent views or features of a listed product or service), addadditional information regarding optional listing attributes, and so on.

Based on the template input 302, the view generation module 116generates updated template view 304. In general, the updated templateview 304 corresponds to an update of the result and listing templateview 208. Like the result and listing template view 208, the updatedtemplate view 304 includes both the selectable listings 204 presentedfor selection and also the listing template. In contrast to the resultand listing template view 208, however, the listing template of theupdated template view 304 is updated according to the template input302.

At some point, a user of the computing device 102 may decide that theinformation in the listing template accurately reflects the product orservice that is to be listed. The user may thus select an option tosubmit the corresponding listing. Accordingly, a listing submissioninput is received via the updated template view 304 (or via the resultand listing template view 208 if no template input is received to updatethe information of the listing template). Responsive to such input, theinteractive listing agent 114 configures listing data 306. Theinteractive listing agent 114 configures the listing data 306 based, inpart, on the information used to initially populate the result andlisting template view 208. The interactive listing agent 114 alsoconfigures the listing data 306 based on the information received inconnection with the template input 302. In one or more implementations,the interactive listing agent 114 configures the listing data 306according to the defined attributes of a listing.

As illustrated, the interactive listing agent 114 may furthercommunicate the listing data 306 over the network 108 to listing servicesystem 308. The listing service system 308 represents functionality toexpose the listing corresponding to the listing data 306 to a network ofclient device users. By way of example, the listing service system 308may correspond to an electronic commerce platform (e.g., eBay®), aproperty rental platform (e.g., Airbnb®, VRBO®), a classifiedadvertisements platform (e.g., Craigslist®), and so forth. The listingservice system 308 is configured to leverage the listing data 306 togenerate digital content configured as a listing and expose the listingto the client device users. The listing service system 308 may exposethe listing via a variety of channels, examples of which include webpages, emails, network-enabled application interfaces, text messages,television, streaming media, and so on. These listings enable clientdevice users to consume information about the listed product or serviceand also to act on the listing, e.g., buy the listed product or service,respond to a request for service or a job, and so on. In accordance withthe principles discussed herein, consider now the implementationexamples discussed in relation to FIGS. 4-9.

FIG. 4 depicts an example implementation 400 in which a user interfaceis initially configured to receive a search query and is configurable toserve as a combined search result and listing template view. Theillustrated example 400 includes user interface 402 having search queryinput bar 404 and user indication 406.

The illustrated example 400 is also depicted with cursor 408. In thefollowing examples, the cursor 408 generally represents a focus of userinput in relation to the user interface 402. In the illustrated example400, for instance, the cursor 408 represents a focus of user input onthe search query input bar 404, e.g., so that keyboard inputs cause textto be entered into the search query input bar 404. It is to beappreciated that the cursor 408 is merely representative of user inputfocus. In scenarios where user inputs are received using touchfunctionality or a stylus device, for instance, the cursor 408 may notbe displayed in connection with the user interface 402. However, inscenarios involving mouse-based input the cursor 408 may nevertheless bedisplayed.

In general, the search query input bar 404 represents functionality toreceive search query input. Although the following example is describedin relation to text input, search query inputs in other forms may beused without departing from the spirit or scope of the techniquesdescribed herein, such as audio input, digital image input, video input(e.g., as in virtual or augmented reality), and so forth. The userindication 406 identifies a user profile that is currently authenticatedto the listing system 112. In one or more implementations, the listingsystem 112 also uses this user profile in connection with exposing alisting via the listing service system 308. In relation to receivingsearch query input via the search query input bar 404, consider FIG. 5.

FIG. 5 depicts another example implementation 500 in which the userinterface 402 is updated to present search result listings as searchquery input is received. The illustrated example 500 is a continuationof FIG. 4 and thus includes components depicted therein.

In the illustrated example 500, the cursor 408 is illustrated proximatethe search query input bar 404. This indicates that search query inputis being received via the search query input bar 404. In particular, thesearch query input bar 404 is depicted having text 502, which isindicative of the search query input. The user interface 402 is alsoillustrated having search query predictions 504. The search querypredictions 504 are indicative of a prediction regarding the searchquery input given the portion of search query input already entered,e.g., the text 502. Moreover, the search query predictions 504 areupdated as more search query input is received, e.g., as more text isentered via the search query input bar 404. In one or moreimplementations, the search query predictions 504 are updated on aper-character basis, such that as input is received to enter eachcharacter, the search query predictions 504 are updated. In theillustrated example 500, the search query predictions 504 are predictedbased on the text 502 string “used.” In general, the search query inputserves as a basis for performing a search to obtain the search results202.

Based on the portion of the search query input already received, e.g.,the text 502, selectable listings 506 are also presented via the userinterface 402. In accordance with the principles discussed herein, thepresented selectable listings 506 correspond to the selectable listings204. The presented selectable listings 506 may thus be configured forpresentation from the search results 202 as described in more detailabove. Consequently, each of the selectable listings 506 is selectableto initiate display of a corresponding listing template in the resultand listing template view 208. To illustrate further the functionalityof updating the search query predictions 504 and the selectable listingsas search query input is received, though, the example scenario iscontinued in relation to FIG. 6.

FIG. 6 depicts another example implementation 600 in which the userinterface 402 is updated to present different search result listings asadditional search query input is received. The illustrated example 600is a continuation of FIG. 5 and thus includes components depictedtherein.

In the illustrated example 600, the cursor 408 is again illustratedproximate the search query input bar 404. This indicates that searchquery input is being received via the search query input bar 404. Inparticular, the search query input bar 404 is depicted having text 602,which is indicative of the search query input at a second time that isafter a first time associated with the text 502. Based on the additionalsearch query input (e.g., as indicated by the text 602), the userinterface may be configured to present different search querypredictions 604. These are based on a prediction of the search queryinput given the portion of search query input already entered, e.g., thetext 602. In relation to FIG. 5, more text has been received for thesearch query input. Accordingly, the different search query predictions604 are further refined—there are fewer search query predictionsdepicted in FIG. 6 than in FIG. 5. In the illustrated example 600, thedifferent search query predictions 604 are predicted based on the text602 string “used fitness equip.”

As in FIG. 5, selectable listings are presented based on the portion ofthe search query input received. In the illustrated example 600,however, the presented different selectable listings 606 are based onthe text 602. In other words, the different selectable listings 606 arepresented based on the text “used fitness equip” whereas the selectablelistings 506 are presented based simply on the text “used.” Inaccordance with the principles discussed herein, the presented differentselectable listings 606 correspond to the selectable listings 204—butconfigured based on search results 202 returned as a result of using“used fitness equip” rather than simply “used.” Accordingly, each of thedifferent selectable listings 606 is also selectable to initiate displayof a corresponding listing template in the result and listing templateview 208. In other words, the user interface 402 is configurable as theresult and listing template view 208. In this context, consider FIG. 7.

FIG. 7 depicts an example implementation 700 in which the user interface402 is updated to include a listing template along with search resultlistings to form the combined search result and listing template view.The illustrated example 700 is a continuation of FIG. 6 and thusincludes components depicted therein.

In the illustrated example 700, the cursor 408 is illustrated overselected listing 702. This indicates that the listing selection 206 isreceived to select the selected listing 702 from the differentselectable listings 606. Based on selection of the selected listing 702,the user interface 402 is updated to include listing template 704, whichis formed by incorporating data copied from the selected listing 702. Inparticular, the listing template 704 is formed by incorporating datathat corresponds to defined attributes of a listing as discussed inrelation to FIG. 8. In the illustrated example 700, for instance, thelisting template 704 includes from the selected listing 702 a sametitle, image, condition of product or service, and item details (e.g.,brand, style, color, and description). By configuring the listingtemplate 704 to include this information, the listing system 112 reducesinstances where client devices process information that is not arrangedaccording to the defined attributes. This also makes listing products orservices with a listing system easier for client device users.

In addition to the data incorporated from the selected listing 702, thelisting template 704 also includes additional information, such assuggested pricing and information specific to the user profileassociated with the potential listing. In the illustrated example 700,for instance, the listing template is generated to include a username ofthe listing user (e.g., ‘srini2k17’) and a rating associated with thelisting user. In one or more implementations, the listing template 704may be generated to include other user information, such as contactinformation (e.g., email address, telephone number, and so on)associated with the listing user. The interactive listing agent 114 mayobtain this contact information from a profile of the user correspondingto the user indication 406. In the illustrated example 700, the listingtemplate 704 is also depicted with a suggested range of prices, whichmay correspond to prices at which similar products or services have soldover some threshold of time, e.g., the last 90 days. It is to beappreciated that the listing template 704 may be configured to includeother information without departing from the spirit or scope of thetechniques described herein. For instance, search result listingspresented in accordance with the described techniques may includedifferent information, which may therefore be carried to the listingtemplate 704. Regardless of the particular data included, the listingtemplate 704 is generally configured according to defined attributes fora listing. In this context, consider FIG. 8.

FIG. 8 depicts an example implementation 800 of a data structure that isusable to implement a schema for generating listing templates fromsearch results to enable the combined view. In particular, the example800 includes listing data record 802, which is depicted with attributescontrolled by a set of rules defined by the schema for describinglistings.

Broadly speaking, the attributes of the listing data record 802 controlthe data that is identified from selected search result listings andincorporated into a listing template. The listing system 112 can alsouse these attributes to control the listing data 306 communicated to thelisting service system 308 for exposing a listing to client devices.Given this, consider the example attributes of the illustrated listingdata record 802. The listing data record 802 is depicted includinglisting identifier data 804, listing title data 806, listing descriptiondata 808, listing content 810, listing user data 812, and other listingdata 814.

In general, the listing identifier data 804 uniquely identifies thelisting corresponding to the listing data record 802. By way of example,the listing identifier data 804 may correspond to a random global uniqueidentifier (GUID) associated with the listing or some other mechanism touniquely distinguish the listing (and information associated therewith)from other listings. The listing title data 806 corresponds to a titleof the respective listing. With reference to FIG. 7, for instance, thelisting title data 806 for the selected listing 702 corresponds to thetext string ‘1200 LBS. Bumper Plates.’

The listing description data 808 corresponds to a description for therespective listing. With reference again to FIG. 7, the listingdescription data 808 for the selected listing 702 corresponds to thetext beginning with ‘1200 lb assorted bumper plates. . . . ’ In one ormore implementations, the listing description data 808 may not beconfigured as text. Instead, the listing description data 808 may beconfigured as a video or as audio describing a listed product orservice. The listing content 810 corresponds to digital content capableof further describing or otherwise indicating features of thecorresponding listing. By way of example, the listing content 810 may beconfigured as a digital image. The listing content 810 may include oneor more digital content items as well as different types of digitalcontent (e.g., videos, audio, graphics, and so forth) without departingfrom the spirit or scope of the described techniques.

The listing user data 812 corresponds to data associated with a userprofile corresponding to the listing. As indicated in FIG. 7, thelisting user data 812 may include a username of the listing user and arating associated with the listing user. As indicated above, the listinguser data 812 may include different information about a listing userwithout departing from the spirit or scope of the techniques describedherein. The listing data record 802 is also depicted with other listingdata 814. Indeed, the interactive listing agent 114 may generate listingdata records to include other information, such as a condition of alisted product or service (e.g., excellent condition, like new, goodcondition, poor condition, and so on), item details (e.g., brand, style,color, fit, size, and so on), pricing information (e.g., a suggestedrange of listing prices), maintenance information, and so forth. Itshould be appreciated that the listing data record 802 may be configuredwith different combinations of attributes than illustrated withoutdeparting from the spirit or scope of the techniques described herein.

Regardless of the particular attributes of the listing data record 802,the attributes are usable to govern how the data presented in thelisting template 704 can be modified. With reference to modifying datapresented as part of the listing template 704, consider FIG. 9.

FIG. 9 depicts an example implementation 900 in which user input isreceived via the user interface 402 to modify the information in alisting template. The illustrated example 900 is a continuation of FIG.7 and thus includes components depicted therein.

In the illustrated example, the cursor 408 is illustrated over attributemodification instrumentality 902, which in this scenario enables a userof the computing device 102 to provide input to modify the listingdescription data 808 associated with the listing template 704. In one ormore implementations, this attribute modification instrumentality 902 ispresented responsive to a user input proximate the corresponding data,such as hovering over the description or selecting the descriptioninstrumentality depicted in FIG. 7, tapping over the description with afinger or stylus or on the description instrumentality depicted in FIG.7, and so on. Once presented, the attribute modification instrumentality902 enables the indicated data to be modified. Consider another examplein which user input is received to hover over or otherwise select theimage of the listing template 704. In this example, an attributemodification instrumentality that enables the image to be swapped with adifferent image (e.g., a digital image from the supplemental listingcontent 118) is presented.

In general, these inputs correspond to the template input 302.Accordingly, when the template input 302 is received via attributemodification instrumentalities, the view generation module 116 generatesthe updated template view 304 to include the modified information.Additionally, the interactive listing agent 114 updates the listing datarecord 802 corresponding to the listing template 704. The illustratedexample 900 also includes listing submission instrumentality 904.Responsive to user selection of the listing submission instrumentality904, the interactive listing agent 114 is configured to communicate atleast some of the data of the corresponding listing data record 802 tothe listing service system 308 as the listing data 306.

Having discussed example details of the techniques for searchresult-based listing generation in a single view, consider now someexample procedures to illustrate additional aspects of the techniques.

Example Procedures

This section describes example procedures for search result-basedlisting generation in a single view in one or more implementations.Aspects of the procedures may be implemented in hardware, firmware, orsoftware, or a combination thereof. The procedures are shown as a set ofblocks that specify operations performed by one or more devices and arenot necessarily limited to the orders shown for performing theoperations by the respective blocks. In at least some implementationsthe procedures are performed by a suitably configured device, such asthe computing device 102 of FIG. 1 having a listing system 112 thatmakes use of an interactive listing agent 114 and a view generationmodule 116, or devices implemented as the example systems 200 and/or 300of FIGS. 2 and 3, which also make use of those modules.

FIGS. 10A and 10B depict an example procedure 1000 in which a listingtemplate is presented in a single view with search result listings andin which the listing template is configured based on a user-selectedsearch result listing.

A portion of a search query input is received (block 1002). By way ofexample, one of the applications 110 receives the text 502 via thesearch query input bar 404 of the user interface 402. A first set ofsearch results is received based on the received portion of the searchquery input (block 1004). By way of example, the search results 202corresponding to the text 502 are received from the search servicemanager module 106 by the interactive listing agent 114. A userinterface is configured to output a first set of search result listingsbased on the first set of search results (block 1006). By way ofexample, the interactive listing agent 114 configures the first set ofsearch results received at block 1004 as selectable listings 204. Theview generation module 116 configures the user interface 402 to outputthese, such as the selectable listings 506 are output via the userinterface 402 in FIG. 5.

Additional search query input is received (block 1008). By way ofexample, the one application 110 receives the text 602 via the searchquery input bar 404 of the user interface 402. In accordance with theprinciples discussed herein, the text 602 includes additional charactersin relation to the text 502 and thus corresponds to the additionalsearch query input. At least a second set of search results is receivedbased on the portion and additional search query input (block 1010). Byway of example, the search results corresponding to the text 602 arereceived from the search service manager module 106 by the interactivelisting agent 114. The user interface is transformed to output at leasta second set of search result listings based on the at least second setof search results (block 1012). By way of example, the interactivelisting agent 114 configures the second set of search results receivedat block 1010 as selectable listings 204. The view generation module 116configures the user interface 402 to output these, such as the differentselectable listings 606 are output via the user interface 402 in FIG. 6.The procedure 1000 continues at ‘A’ from FIG. 10A to FIG. 10B.

A user selection is received to select one of the presented searchresult listings (block 1014). By way of example, the listing selection206 is received to select the selected listing 702 from the differentselectable listings 606 presented via the user interface 402. In one ormore implementations, the listing selection 206 to select the selectedlisting 702 corresponds to a mouse-based selection involving the cursor408. Additionally or alternately, the listing selection 206 correspondsto a touch-based selection using touch functionality, a voice-basedselection using voice recognition functionality, a gesture-basedselection using gesture recognition functionality, a stylus-basedselection, a keyboard-based selection, and so forth.

The user interface is further transformed into a combined search resultand listing template view (block 1016). In accordance with theprinciples discussed herein, the listing template that is added to theuser interface is configured to include information copied from theselected search result listing. By way of example, the view generationmodule 116 transforms the user interface 402 into the result and listingtemplate view 208 by generating the listing template 704 andincorporating the listing template 704 for display as part of the userinterface 402. In so doing, the view generation module 116 configuresthe user interface 402 to present both the different selectable listings606 and the listing template 704 concurrently. As described in moredetail above, the listing system 112 configures the listing template 704to include information copied from the selected listing 702.

Template input is received to modify at least some of the informationpresented in the listing template (block 1018). By way of example, theview generation module 116 receives the template input 302 to modify atleast some of the information presented in the listing template 704.With reference to FIG. 9, the view generation module 116 receives thetemplate input 302 in relation to the attribute modificationinstrumentality 902 to modify the listing template 704's description.Certainly, the template input 302 may be received to modify differentinformation of the listing template 704 in accordance with the describedtechniques.

The listing template is updated in the user interface in accordance withthe modifications (block 1020). By way of example, the view generationmodule 116 updates the listing template 704 in the user interface 402 inaccordance with the modifications of block 1018. Accordingly, the viewgeneration module 116 generates the updated template view 304 of theuser interface 402, which includes the listing template 704 as modifiedby the modifications of block 1018.

Listing data is generated that is indicative of the informationpresented in the listing template (block 1022). In accordance with theprinciples described herein, the listing data is configured according toa schema that controls the attributes of a listing. By way of example,the interactive listing agent 114 generates the listing data 306responsive to selection of the listing submission instrumentality 904.The interactive listing agent 114 configures the listing data 306according to a schema, such as a schema specifying that listings are tohave the attributes represented by the listing data record 802.Moreover, the interactive listing agent 114 generates the listing data306 so that it is indicative of the information presented in the listingtemplate 704 at a time the listing submission instrumentality 904 isselected.

The listing data is communicated to a listing service system (block1024). In accordance with the principles discussed herein, the listingservice system is configured to expose digital content as a listingcorresponding to the listing data. By way of example, the interactivelisting agent 114 communicates the listing data 306 to the listingservice system 308. The listing service system 308 generates digitalcontent as a listing corresponding to the listing data 306 and exposesthe listing, e.g., the listing service system 308 surfaces the listingto client devices in response to search query inputs pertinent to thelisting.

Having described example procedures in accordance with one or moreimplementations, consider now an example system and device that can beutilized to implement the various techniques described herein.

Example System and Device

FIG. 11 illustrates an example system generally at 1100 that includes anexample computing device 1102 that is representative of one or morecomputing systems and/or devices that may implement the varioustechniques described herein. This is illustrated through inclusion ofthe interactive listing agent 114. The computing device 1102 may be, forexample, a server of a service provider, a device associated with aclient (e.g., a client device), an on-chip system, and/or any othersuitable computing device or computing system.

The example computing device 1102 as illustrated includes a processingsystem 1104, one or more computer-readable media 1106, and one or moreI/O interfaces 1108 that are communicatively coupled, one to another.Although not shown, the computing device 1102 may further include asystem bus or other data and command transfer system that couples thevarious components, one to another. A system bus can include any one orcombination of different bus structures, such as a memory bus or memorycontroller, a peripheral bus, a universal serial bus, and/or a processoror local bus that utilizes any of a variety of bus architectures. Avariety of other examples are also contemplated, such as control anddata lines.

The processing system 1104 is representative of functionality to performone or more operations using hardware. Accordingly, the processingsystem 1104 is illustrated as including hardware elements 1110 that maybe configured as processors, functional blocks, and so forth. This mayinclude implementation in hardware as an application specific integratedcircuit or other logic device formed using one or more semiconductors.The hardware elements 1110 are not limited by the materials from whichthey are formed or the processing mechanisms employed therein. Forexample, processors may be comprised of semiconductor(s) and/ortransistors (e.g., electronic integrated circuits (ICs)). In such acontext, processor-executable instructions may beelectronically-executable instructions.

The computer-readable storage media 1106 is illustrated as includingmemory/storage 1112. The memory/storage 1112 represents memory/storagecapacity associated with one or more computer-readable media. Thememory/storage component 1112 may include volatile media (such as randomaccess memory (RAM)) and/or nonvolatile media (such as read only memory(ROM), Flash memory, optical disks, magnetic disks, and so forth). Thememory/storage component 1112 may include fixed media (e.g., RAM, ROM, afixed hard drive, and so on) as well as removable media (e.g., Flashmemory, a removable hard drive, an optical disc, and so forth). Thecomputer-readable media 1106 may be configured in a variety of otherways as further described below.

Input/output interface(s) 1108 are representative of functionality toallow a user to enter commands and information to computing device 1102,and also allow information to be presented to the user and/or othercomponents or devices using various input/output devices. Examples ofinput devices include a keyboard, a cursor control device (e.g., amouse), a microphone, a scanner, touch functionality (e.g., capacitiveor other sensors that are configured to detect physical touch), a camera(e.g., which may employ visible or non-visible wavelengths such asinfrared frequencies to recognize movement as gestures that do notinvolve touch), and so forth. Examples of output devices include adisplay device (e.g., a monitor or projector), speakers, a printer, anetwork card, tactile-response device, and so forth. Thus, the computingdevice 1102 may be configured in a variety of ways as further describedbelow to support user interaction.

Various techniques may be described herein in the general context ofsoftware, hardware elements, or program modules. Generally, such modulesinclude routines, programs, objects, elements, components, datastructures, and so forth that perform particular tasks or implementparticular abstract data types. The terms “module,” “functionality,” and“component” as used herein generally represent software, firmware,hardware, or a combination thereof. The features of the techniquesdescribed herein are platform-independent, meaning that the techniquesmay be implemented on a variety of commercial computing platforms havinga variety of processors.

An implementation of the described modules and techniques may be storedon or transmitted across some form of computer-readable media. Thecomputer-readable media may include a variety of media that may beaccessed by the computing device 1102. By way of example, and notlimitation, computer-readable media may include “computer-readablestorage media” and “computer-readable signal media.”

“Computer-readable storage media” may refer to media and/or devices thatenable persistent and/or non-transitory storage of information incontrast to mere signal transmission, carrier waves, or signals per se.Thus, computer-readable storage media refers to non-signal bearingmedia. The computer-readable storage media includes hardware such asvolatile and non-volatile, removable and non-removable media and/orstorage devices implemented in a method or technology suitable forstorage of information such as computer readable instructions, datastructures, program modules, logic elements/circuits, or other data.Examples of computer-readable storage media may include, but are notlimited to, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, harddisks, magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or other storage device, tangible media, orarticle of manufacture suitable to store the desired information andwhich may be accessed by a computer.

“Computer-readable signal media” may refer to a signal-bearing mediumthat is configured to transmit instructions to the hardware of thecomputing device 1102, such as via a network. Signal media typically mayembody computer readable instructions, data structures, program modules,or other data in a modulated data signal, such as carrier waves, datasignals, or other transport mechanism. Signal media also include anyinformation delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media include wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared, and other wireless media.

As previously described, hardware elements 1110 and computer-readablemedia 1106 are representative of modules, programmable device logicand/or fixed device logic implemented in a hardware form that may beemployed in some embodiments to implement at least some aspects of thetechniques described herein, such as to perform one or moreinstructions. Hardware may include components of an integrated circuitor on-chip system, an application-specific integrated circuit (ASIC), afield-programmable gate array (FPGA), a complex programmable logicdevice (CPLD), and other implementations in silicon or other hardware.In this context, hardware may operate as a processing device thatperforms program tasks defined by instructions and/or logic embodied bythe hardware as well as a hardware utilized to store instructions forexecution, e.g., the computer-readable storage media describedpreviously.

Combinations of the foregoing may also be employed to implement varioustechniques described herein. Accordingly, software, hardware, orexecutable modules may be implemented as one or more instructions and/orlogic embodied on some form of computer-readable storage media and/or byone or more hardware elements 1110. The computing device 1102 may beconfigured to implement particular instructions and/or functionscorresponding to the software and/or hardware modules. Accordingly,implementation of a module that is executable by the computing device1102 as software may be achieved at least partially in hardware, e.g.,through use of computer-readable storage media and/or hardware elements1110 of the processing system 1104. The instructions and/or functionsmay be executable/operable by one or more articles of manufacture (forexample, one or more computing devices 1102 and/or processing systems1104) to implement techniques, modules, and examples described herein.

The techniques described herein may be supported by variousconfigurations of the computing device 1102 and are not limited to thespecific examples of the techniques described herein. This functionalitymay also be implemented all or in part through use of a distributedsystem, such as over a “cloud” 1114 via a platform 1116 as describedbelow.

The cloud 1114 includes and/or is representative of a platform 1116 forresources 1118. The platform 1116 abstracts underlying functionality ofhardware (e.g., servers) and software resources of the cloud 1114. Theresources 1118 may include applications and/or data that can be utilizedwhile computer processing is executed on servers that are remote fromthe computing device 1102. Resources 1118 can also include servicesprovided over the Internet and/or through a subscriber network, such asa cellular or Wi-Fi network.

The platform 1116 may abstract resources and functions to connect thecomputing device 1102 with other computing devices. The platform 1116may also serve to abstract scaling of resources to provide acorresponding level of scale to encountered demand for the resources1118 that are implemented via the platform 1116. Accordingly, in aninterconnected device embodiment, implementation of functionalitydescribed herein may be distributed throughout the system 1100. Forexample, the functionality may be implemented in part on the computingdevice 1102 as well as via the platform 1116 that abstracts thefunctionality of the cloud 1114.

CONCLUSION

Although the invention has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the invention defined in the appended claims is not necessarilylimited to the specific features or acts described. Rather, the specificfeatures and acts are disclosed as example forms of implementing theclaimed invention.

What is claimed is:
 1. A method implemented by at least one computingdevice, the method comprising: presenting, by the at least one computingdevice, a user interface with search results; receiving, by the at leastone computing device, a selection of a presented search result;identifying, by the at least one computing device, informationassociated with the selected search result that corresponds to specifiedattributes; and configuring, by the at least one computing device, theuser interface to present a modifiable template concurrently with thesearch results as reference, the modifiable template including theinformation identified, and the information being modifiable based onuser input.
 2. A method as described in claim 1, further comprisingreceiving template input via an attribute modification instrumentalityto modify the information in the modifiable template.
 3. A method asdescribed in claim 1, further comprising: receiving a submission inputvia the user interface; responsive to the submission input, generating alisting based on the information in the modifiable template; andcommunicating the listing to a distribution platform configured toexpose the listing to one or more client devices.
 4. A method asdescribed in claim 1, wherein the specified attributes include at leastone of: a listing title; a listing description; listing content; or acondition of a listed product or service.
 5. A method as described inclaim 1, wherein the modifiable template further includes userinformation identified from a user profile associated with themodifiable template.
 6. A method as described in claim 5, wherein theuser information includes at least one of: a username corresponding tothe user profile; a user rating associated with the user profile; orcontact information associated with the user profile.
 7. A method asdescribed in claim 1, further comprising: receiving search query inputvia the user interface; receiving the search results from a searchengine based on the search query input; and configuring the searchresults received for presentation via the user interface.
 8. A method asdescribed in claim 1, wherein one or more of the search resultspresented are exposed by a distribution platform further configured toexpose a listing generated based on the modifiable template.
 9. A methodas described in claim 1, further comprising: receiving a first portionof search query input via the user interface; receiving a first set ofsearch results from a search engine based on the first portion of searchquery input; and configuring the first set of the search results forpresentation via the user interface.
 10. A method as described in claim9, further comprising: receiving a second portion of search query inputvia the user interface; receiving at least a second set of searchresults from the search engine based on the first and second portions ofsearch query input; and configuring the at least second set of searchresults for presentation via the user interface.
 11. A method asdescribed in claim 1, wherein the search results presented are fromdifferent sources.
 12. A method as described in claim 11, wherein thedifferent sources are different service providers.
 13. A systemcomprising: at least one processor; and memory having stored thereoncomputer-readable instructions that are executable by the at least oneprocessor to perform operations comprising: generating a user interfaceto present search results based on search query input; and transformingthe user interface based on selection of a presented search result topresent a modifiable template concurrently with the search results asreference, the modifiable template including information copied from aselected search result and a listing submission instrumentality that isselectable to expose a listing via a distribution platform based on theinformation included in the modifiable template.
 14. A system asdescribed in claim 13, wherein the operations further comprise:receiving template input to modify the information included in themodifiable template; and transforming the user interface further topresent the modifiable template with modified information in accordancewith the template input.
 15. A system as described in claim 13, whereinthe operations further comprise: receiving input to select the listingsubmission instrumentality; responsive to the input received, generatingthe listing based on the information included in the modifiabletemplate; and communicating the listing to the distribution platformconfigured to expose the listing.
 16. A system as described in claim 13,wherein: the instructions are executable to implement an interactiveagent to perform the operations; and the system further comprises atleast two applications configured to employ the interactive agent toperform at least a portion of the generating and the transforming.
 17. Amethod implemented by at least one computing device, the methodcomprising: receiving a first portion of search query input via a userinterface; receiving a first set of search results from a search enginebased on the first portion of search query input; presenting the firstset of search results via the user interface, each presentation of asearch result of the first set of search results conforming to specifiedattributes; receiving a second portion of search query input via theuser interface; receiving at least a second set of search results fromthe search engine based on the first and second portions of search queryinput; presenting the at least second set of search results via the userinterface, each presentation of a search result of the at least secondset of search results conforming to the specified attributes; receivinga selection of a presented search result from the at least second set ofsearch results; and presenting a modifiable template via the userinterface concurrently with the at least second set of search results asreference, the modifiable template formed, in part, by copyinginformation from the selected search result to the modifiable template.18. A method as described in claim 17, wherein: the first portion andsecond search query input comprise text input; and the at least secondset of search results is received on a character-by-character basis inconnection with receipt of the text input.
 19. A method as described inclaim 17, further comprising: receiving non-textual search query inputto initiate a search; receiving at least a third set of search resultsfrom the search engine based on the non-textual search query input; andpresenting the at least third set of search results via the userinterface, the at least third set of search results conforming to thespecified attributes.
 20. A method as described in claim 17, wherein thepresented search results are from different sources.